#ifndef types_h__
#define types_h__

//#include<gl/freeglut.h>
#include<gl/glut.h> 

#define RECTENGLE_STRING		"rectangle"
#define EMPTY_ELLIPSE_STRING	"empty_ellipse"
#define	FULL_ELLIPSE_STRING		"full_ellipse"
#define	STAR_STRING				"star"
#define	VORTEX_STRING			"vortex"

/* TYPES */
/*---------------------------------------------------------------------------------*/
typedef enum SHAPE_TYPE 
{ 
	RECTENGLE, 
	EMPTY_ELLIPSE, 
	FULL_ELLIPSE,
	STAR,
	VORTEX,
	NONE
} 
ShapeType;

typedef struct VECTOR2D
{
	GLfloat x;
	GLfloat y;
}
Vector2d;

typedef struct COLOR
{
	GLfloat r;
	GLfloat g;
	GLfloat b;
} 
Color;

typedef struct SHAPE
{
	Vector2d	pos;
	Color		color;
	GLfloat		scale;
	GLfloat		width;
	ShapeType	shape_type;
}
Shape;

ShapeType shapeTypeFromString( char* str );
/*---------------------------------------------------------------------------------*/
#endif // types_h__